﻿using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Xna.Framework;

namespace DS.SludgeEngine.Base
{

    public interface IChaseCamera
    {

        Vector3 ChasePosition
        {
            get;
            set;
        }

        Vector3 ChaseDirection
        {
            get;
            set;
        }

        Vector3 Up
        {
            get;
            set;
        }

        Vector3 DesiredPositionOffset
        {
            get;
            set;
        }

        Vector3 DesiredPosition
        {
            get;
        }

        Vector3 LookAtOffset
        {
            get;
            set;
        }
        Vector3 LookAt
        {
            get;
        }

        float Stiffness
        {
            get;
            set;
        }

        float Damping
        {
            get;
            set;
        }

        float Mass
        {
            get;
            set;
        }

        Vector3 Position
        {
            get;
        }

        Vector3 Velocity
        {
            get;
        }

        float AspectRatio
        {
            get;
            set;
        }

        float FieldOfView
        {
            get;
            set;
        }

        float NearPlaneDistance
        {
            get;
            set;
        }

        float FarPlaneDistance
        {
            get;
            set;
        }

        Matrix View
        {
            get;
        }

        Matrix Projection
        {
            get;
        }

        void Reset();

        void Update(GameTime gameTime);



    }
}
